home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / amigaoscd / amigapluscd / AP-Website / forum / wbboard / update.php < prev    next >
PHP Script  |  2001-12-08  |  5KB  |  149 lines

  1. <?
  2.  
  3. $header = "<html>
  4. <head>
  5. <title>Woltlab Burning Board Update</title>
  6.         <STYLE TYPE=\"TEXT/CSS\">
  7.             BODY { SCROLLBAR-BASE-COLOR: #646464; SCROLLBAR-ARROW-COLOR: #FEC254; } 
  8.             SELECT { FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; FONT-SIZE: 11px; COLOR: #000000; BACKGROUND-COLOR: #CFCFCF } 
  9.             TEXTAREA, .input { FONT-SIZE: 12px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; COLOR: #000000; BACKGROUND-COLOR: #CFCFCF } 
  10.             #bg A:link, #bg A:visited, #bg A:active { COLOR: #000000; TEXT-DECORATION: underline; } #bg A:hover { COLOR: #000000; TEXT-DECORATION: none; } 
  11.             #cat A:link, #cat A:visited, #cat A:active { COLOR: #FEC254; TEXT-DECORATION: none; } #cat A:hover { COLOR: #FEC254; TEXT-DECORATION: underline; } 
  12.             #title A:link, #title A:visited, #title A:active { COLOR: #FEC254; TEXT-DECORATION: none; } #title A:hover { COLOR: #FEC254; TEXT-DECORATION: underline; }  
  13.         </STYLE>
  14.     
  15. </head>
  16.  
  17. <body bgcolor=\"#808080\" text=\"#000000\" bgproperties=fixed id=\"bg\">
  18. <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=2 color=\"#000000\">";
  19.  
  20.  
  21. # - functions -
  22. require "_data.inc.php";
  23. require "class_db_zugriff.php";
  24.  
  25. $db_zugriff = new db_zugriff;
  26.  
  27. $db_zugriff->appname="WoltLab Burning Board";
  28. $db_zugriff->database=$mysqldb;
  29. $db_zugriff->server=$mysqlhost;
  30. $db_zugriff->user=$mysqluser;
  31. $db_zugriff->password=$mysqlpassword;
  32.  
  33. $db_zugriff->connect();
  34.  
  35. function gettemplate($template) {
  36.         $file = file("templates/".$template.".htm");
  37.         $template = implode("",$file);
  38.         $template = str_replace("\"","\\\"",$template);
  39.         return $template;
  40. }
  41.  
  42. function dooutput($template) {
  43.         echo $template;
  44. }
  45.  
  46. # - steps -
  47. if(!$step) {
  48. echo $header;
  49. ?>
  50. <p>
  51. <font site=3><b>Willkommen bei dem Update von WoltLab Burning Board 1.0 Beta 4.5 auf 1.1.0!</b></font> 
  52. </p>
  53. <p>
  54. <a href="update.php?step=1">Klicken Sie hier, um mit dem Update zu beginnen!</a> 
  55. </p>
  56. <?
  57. }
  58.  
  59. if($step==1) {
  60.     $db_zugriff->query("ALTER TABLE bb".$n."_config ADD forumid varchar(32) NOT NULL");
  61.     $db_zugriff->query("ALTER TABLE bb".$n."_threads ADD lastposterid int(11) NOT NULL DEFAULT '-1' AFTER authorid");
  62.     $db_zugriff->query("ALTER TABLE bb".$n."_threads ADD author varchar(30) NOT NULL AFTER authorid");
  63.     $db_zugriff->query("UPDATE bb".$n."_config SET forumid = '".md5(uniqid(microtime()))."'");
  64.     
  65.     echo $header;
  66.     ?>
  67.         <p>
  68.         <b>Tabellen wurden erfolgreich verändert.</b> 
  69.         </p>
  70.         <p>
  71.         <a href="update.php?step=2">Klicken Sie hier, um mit dem Update fortzufahren!</a> 
  72.         </p>
  73.     <?
  74.     
  75. }
  76.  
  77. if($step==10) {
  78.  $db_zugriff->query("UPDATE bb".$n."_threads SET lastposterid = '-1'");
  79.  header("Location: update.php?step=2");
  80. }
  81.  
  82. if($step==2) {
  83.     $result = $db_zugriff->query("SELECT threadid FROM bb".$n."_threads WHERE lastposterid = '-1' LIMIT 100");
  84.     if($db_zugriff->num_rows()) {
  85.      while($row=$db_zugriff->fetch_array($result)) {
  86.       $dump = $db_zugriff->query_first("SELECT userid FROM bb".$n."_posts WHERE threadparentid = '$row[threadid]' ORDER BY posttime DESC LIMIT 1");
  87.       $db_zugriff->query("UPDATE bb".$n."_threads SET lastposterid = '$dump[userid]' WHERE threadid = '$row[threadid]'");
  88.      }
  89.      header("Location: update.php?step=2");
  90.     }
  91.     else {
  92.     $db_zugriff->query("ALTER TABLE bb".$n."_threads CHANGE lastposterid lastposterid INT (11) DEFAULT '0' not null ");
  93.     echo $header;
  94.     ?>
  95.         <p>
  96.         <b>"Letzter Beitrag" Konvertierung erfolgreich beendet.</b> 
  97.         </p>
  98.         <p>
  99.         <a href="update.php?step=3">Klicken Sie hier, um mit dem Update fortzufahren!</a> 
  100.         </p>
  101.     <?
  102.     }
  103. }
  104.  
  105. if($step==3) {
  106.     $result = $db_zugriff->query("SELECT username, userid FROM bb".$n."_user_table WHERE username LIKE '%<%' OR username LIKE '%>%' OR username LIKE '%\"%' OR username LIKE '%&%'");
  107.     while($row=$db_zugriff->fetch_array($result)) {
  108.      $db_zugriff->query("UPDATE bb".$n."_user_table SET username = '".htmlspecialchars($row[username])."' WHERE userid = '$row[userid]'");
  109.     } 
  110.     echo $header;
  111.     ?>
  112.         <p>
  113.         <b>"Benutzernamen" Konvertierung erfolgreich beendet.</b> 
  114.         </p>
  115.         <p>
  116.         <a href="update.php?step=4">Klicken Sie hier, um mit dem Update fortzufahren!</a> 
  117.         </p>
  118.     <?
  119.     
  120. }
  121.  
  122. if($step==4) {
  123.     $result = $db_zugriff->query("SELECT authorid FROM bb".$n."_threads WHERE authorid > 0 AND author = '' LIMIT 100");
  124.     if($db_zugriff->num_rows()) {
  125.      while($row=$db_zugriff->fetch_array($result)) $authorids.=",".$row[authorid];
  126.      $db_zugriff->free_result($result);
  127.      $result = $db_zugriff->query("SELECT username, userid FROM bb".$n."_user_table WHERE userid IN (0$authorids)");
  128.      while($row=$db_zugriff->fetch_array($result)) $db_zugriff->query("UPDATE bb".$n."_threads SET author = '$row[username]' WHERE authorid='$row[userid]'");
  129.      
  130.      header("Location: update.php?step=4");
  131.     }
  132.     else {
  133.     echo $header;
  134.     ?>
  135.         <p>
  136.         <b>Update erfolgreich abgeschlossen.</b> 
  137.         </p>
  138.         <p>
  139.         <b>Löschen Sie die update.php!</b> 
  140.         </p>
  141.         <p>
  142.         <b>enjoy Burning Board 1.1.0</b> 
  143.         </p>
  144.     <?
  145.     }
  146. }
  147. ?>
  148. </font></body>
  149. </html>